在torch使用过程中,有时需要高版本的cuda。按照之前GPU直通的方式安装高版本驱动会出错,虚拟机设置hypervisor.cpuid.v0 = "FALSE"
参数就会导致无法开机。索性安装一个高版本的ubuntu,配合安装cuda 11.8。
根据youtube的视频https://www.youtube.com/watch?v=rhNCtsmVC30整理了新的直通方案。
步骤1:将显卡设备切换为直通
点击“管理”→“硬件”→“PCI设备”。找到GPU相关的设备,将其切换为直通。
步骤2:配置机器
勾选预留所有客户机内存
添加其他设备→PCI设备→添加GPU设备
步骤3:安装ubuntu 22.04
步骤4:禁用nouveau驱动
1.使用下述命令可以查看 nouveau 驱动是否运行:
1 | lsmod | grep nouveau |
若出现下述结果:
1 | nouveau 1863680 9 |
说明 nouveau 驱动正在运行。
2.运行下述命令禁用该驱动:
1 | sudo bash -c "echo blacklist nouveau > /etc/modprobe.d/blacklist-nvidia-nouveau.conf" |
检查命令是否正确:
1 | cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf |
若出现下述结果说明命令正确:
1 | blacklist nouveau |
3.更新设置并重启:
1 | sudo update-initramfs -u |
4.重启后重新输入下述命令:
1 | lsmod | grep nouveau |
若没有任何输出说明禁用 nouveau 驱动成功
步骤5:删除intel-microcode
执行
1 | sudo apt purge intel-microcode |
执行shutdown now
关机
步骤6:添加参数
点击“编辑设置”→“虚拟机选项”→“高级”→“编辑配置”。添加参数:hypervisor.cpuid.v0 = “FALSE”。不添加这个参数,GPU驱动会检测到在虚拟机中运行,驱动就会不工作。
之后再开机
步骤7:安装GPU驱动
首先安装依赖:
1 | apt update |
安装驱动
1 | wget https://http.download.nvidia.com/XFree86/Linux-x86_64/520.56.06/NVIDIA-Linux-x86_64-520.56.06.run |
或者直接安装cuda
1 | wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.run |
编辑/etc/profile
文件,添加:
1 | export PATH="/usr/local/cuda-11.8/bin:$PATH" |
安装完成之后编辑/etc/modprobe.d/nvidia.conf
文件,添加:
1 | options nvidia NVreg_OpenRmEnableUnsupportedGpus=1 |
之后重启。之后执行nvidia-smi
,可以看到驱动已经安装完成。